import { del, get, patch, post } from '~/utils/request'

/**
 * 获取菜单列表
 * @returns 菜单列表数据
 */
export function getMenuList() {
  return get('/menu')
}

/**
 * 添加菜单
 * @param menuData 菜单数据
 * @param menuData.menuUrl 菜单地址
 * @param menuData.menuName 菜单名称
 * @param menuData.menuIcon 菜单图标名称
 * @returns 添加结果
 */
export function addMenu(menuData: {
  menuUrl: string
  menuName: string
  menuIcon: string
}) {
  return post('/menu', menuData)
}

/**
 * 更新菜单
 * @param menuId 菜单ID
 * @param menuData 菜单更新数据
 * @param menuData.menuUrl 菜单地址
 * @param menuData.menuName 菜单名称
 * @param menuData.menuIcon 菜单图标名称
 * @param menuData.status 菜单状态
 * @param menuData.children 子菜单
 * @returns 更新结果
 */
export function updateMenu(
  menuId: string,
  menuData: {
    menuUrl?: string
    menuName?: string
    menuIcon?: string
    status?: number
    children?: object[]
  },
) {
  return patch(`/menu/${menuId}`, menuData)
}

/**
 * 删除菜单
 * @param menuId 菜单ID
 * @returns 删除结果
 */
export function deleteMenu(menuId: string) {
  return del(`/menu/${menuId}`)
}
